home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1998 January / Macworld (1998-01).dmg / Updaters / Object Plant / PPCOP1.4.2-1.4.3Upd / Object Plant README 1.4.3 < prev    next >
Text File  |  1997-10-31  |  25KB  |  451 lines

  1. The Object Plant 1.4.3
  2.  
  3. Date of Release: 31 October 1997
  4.  
  5. The Object Plant is a OOA/OOD tool based on the OMT notation. It can be used to create
  6. Object Models, State Diagrams, Event Trace Diagrams and finally it can generate C++
  7. code skeletons.
  8.  
  9. The Object Plant folder contents:
  10. - Object Plant README 1.4.3    this file
  11. - Object Plant updater             updater application for the PowerPC version 1.4.2
  12. - 68k Object Plant updater      updater application for the 68k version 1.4.2
  13.  
  14. Requirements:
  15. System 7.1 or later
  16. 68020 or better
  17. 2 Mb free RAM
  18.  
  19. Registering
  20. To register use the Register program to create a register form which then shall be sent
  21. to Kagi Shareware using mail, email or fax.
  22.  
  23. The price for a single license is 25 USD, there are also site and world licenses available for
  24. 500 USD resp. 2000 USD.
  25.  
  26. http://www.kagi.com
  27. Email: shareware@kagi.com        (1 to 3 day processing time delay)
  28. FAX: +1 510 652 6589            (4 to 8 day processing time delay)
  29. Postal address:                       (4 to 8 day delay plus transit time to Kagi)
  30. Kagi
  31. 1442-A Walnut Street #392-MU
  32. Berkeley, California, 94709-1405
  33. USA
  34.  
  35. Please note that Kagi automatically rejects any electronic payment that come includes
  36. a hotmail.com address. Refer to http://www.kagi.com/FAQs/hotmail.com
  37.  
  38. N.B. Kagi is a payment processing company and they are not the author/shipper of the
  39. product. Any problems with receiving registration codes or any problems with the product itself shall be addressed to the author at m-arc@algonet.se or micke@kagi.com
  40.  
  41. Registration codes will be sent to you normally within a week after receive a
  42. confirmation of your order from Kagi.
  43.  
  44.  
  45. Disclaimer
  46. This software is provided "as-is". I take no responsiblity in any damage caused by the
  47. software, use of the software or any of its outputs such as generated code. Use it at
  48. your own risk.
  49.  
  50. Changes in 1.4.3 (31 October 1997)
  51. • Added several new tags that can be used in the code generation templates:
  52.    TIMESTAMP, DATESTAMP, DATETIMESTAMP, PROGRAMMER, DATECREATED, DATEMODIFIED
  53. • The creator type of generated files will now be the same as the template files'.
  54. • Fixed a bug that crashed Object Plant when changing the name to a longer package name.
  55. • Added possibility to indicate navigability of associations and aggregations.
  56.    The navigability arrows will only be shown when UML notation is used.
  57. • Moved the "Suppress page name in reference items"-option from the preference dialog
  58.    to the the View menu.
  59. • Added more keyboard shortcuts:
  60.    command-option-left arrow: align left
  61.    command-option-right arrow: align right
  62.    command-option-top arrow: align top
  63.    command-option-bottom arrow: align bottom
  64.    command-option-A: select association tool
  65.    command-option-C: select class tool
  66.    command-option-G: select generalization tool
  67.    command-option-H: select aggregation (has a) tool
  68.    command-option-I: select interface tool
  69. • Corrected a couple of EPS bugs.
  70. • Added undo for delete of items in diagrams.
  71. • And much more...
  72.  
  73.  
  74. Known Bugs
  75.  
  76. • The main windows sometimes look "messy". Everything is not erased properly when
  77.    moving parts around.
  78. • Illustrator has some problems parsing exported pictures (PICT format). All
  79.    textstrings are drawn in a white colour, hence they are invisible.
  80. • The names of generalizations, aggregations and associations are never displayed. 
  81. • Moving a set of relationsships and classes can sometimes leave some of the lines
  82.    behind. 
  83. • If you use code generation, you cannot use the ':' character in class names.
  84. • Line drawing is not very good. When changing between different views lines are not
  85.    updated (adjusted) as expected.
  86. • If the "Page Setup" or "Print Page" commands do not work, try selecting a printer in
  87.    the chooser.
  88. • Snap to grid is only implemented in the Use Case diagram page.
  89. • Packages cannot be copied.
  90. • Manual not completely updated for 1.4.3.
  91. • EPS output for free text may not be correct. I have no possibility to verify this.
  92.  
  93. Use the web-page http://www.softsys.se/ObjectPlant/ to get new releases, report bugs etc. 
  94.  
  95. Questions concerning the program can be sent directly to the author at m-arc@algonet.se or
  96. micke@kagi.com
  97.  
  98.  
  99. This program should only travel in the complete folder.
  100.  
  101. Have fun,
  102.  
  103.                 Mikael Arctaedius
  104.         Stockholm, Sweden
  105.  
  106.         email: m-arc@algonet.se
  107.         http://www.softsys.se/ObjectPlant/
  108.  
  109.  
  110. Release History
  111.  
  112. Changes in 1.4.2 (22 September 1997)
  113. • Added two new tools: text and frame tool. Text tool can be used to insert any free
  114.    text string in a diagram. Frame tool can be used to visually group items.
  115. • Reference items can not be copied any more. This is necessary to avoid dangling
  116.    pointers (if the original item is deleted when the clipboard contains a reference).
  117. • Names of reference items shall now be correct in association dialogs.
  118. • Dragging "collapsed" windows will now track the mouse correct.
  119. • Using forward delete in the operation dialog when a parameter is selected
  120.    will no longer insert a delete character in the text edit field.
  121. • New C++ templates which makes it possible to add initializations in constructors.
  122. • Corrected quite a few bugs in the code generation. Regeneration of code shall be safer
  123.    now.
  124.  
  125. Changes in 1.4.1 (31 Augusti 1997)
  126. • Sorting of classnames in popupmenu when creating a class reference.
  127. • New Java templates
  128. • Better redraw in event trace diagrams (thread names)
  129. • Delete of package in State Diagrams and Event Trace diagrams will now delete
  130.    the associated page as well as the package item.
  131. • New line drawing algorithm in State Diagrams.
  132. • Align in Use Case and State diagrams will now work as expected.
  133. • Closing the page palette will now be the same as closing the document. This is
  134.    the start of a slow migration to make the main windows close with File->Close and
  135.    close the document can only be done by closing the page palette and a special menu
  136.    command, e.g. Close project.
  137. • Better cursor handling (no more flickering cursors).
  138. • You can now choose to generate code for all classes (and interfaces) or only
  139.    selected classes.
  140. • Better scroll behaviour in the main windows.
  141. • Sorting of interface names in popupmenus.
  142. • Fixed a drawing bug related to associations.
  143. • Added a class browser palette. It lists all classes in alphabetical order (sorted
  144.    only on the first four characters). It can be used to bring up a class info dialog by
  145.    doubleclicking the class name and if you select a class in the class browser you
  146.    can drag and drop on the Object Model window to create a reference to that class.
  147. • All the major disclosure triangles saves their state when the document is open.
  148.    When you close the window and later reopens it, the triangles will remember their
  149.    previous state. The state is not saved to the file, why all disclosure triangles are closed
  150.    when opening a document.
  151. • All the major dialog info windows saves the position and size when the document
  152.    is open. This means that the next time you bring up an info window it will be positioned
  153.    where you last closed it, and it will have the same size. The position and size is not
  154.    saved to the file, why the position and size will be the default one when opening an
  155.    info window for the first time.
  156. • Made it possible to open files with packages in Event Trace diagrams and State diagrams.
  157. • And much more...
  158.  
  159. Changes in 1.4 (10 Augusti 1997)
  160. • Corrected some problems with "Export Page...". When "Best fit" is selected a best fit
  161.    will actually be done when exporting in EPS format. This was not true in previous
  162.    releases.
  163. • Class names are sorted in popup-menus. Not a complete sorting but only on the first 4
  164.    characters (to make it fast).
  165. • Screen update problems when opening and closing description box for operations has
  166.    been fixed.
  167. • Added package tool in all diagrams.
  168. • I have tried to make it easier to grab line selection boxes.
  169. • UML generalization arrows are now prettier.
  170. • Removed ... from New in file menu.
  171. • Added possibility to declare a operation/attribute final. This is useful when
  172.    generating Java code. New Java templates will be released later.
  173. • Added possibility to declare an initial value for attributes. Useful for Java.
  174. • Corrected bug related to copying of static methods. Now the static flag is copied
  175.    correctly.
  176. • Corrected a bug that made the Copy command only copy the visible area of a window,
  177.    not all selected items.
  178. • Corrected a crash bug related to Notes.
  179. • Corrected a crash bug related to deleting items in Event Trace diagrams.
  180. • Larger selection area for threads.
  181. • No drag-and-drop if the system doesn't support it. Should make it possible to run
  182.    under 7.1 again.
  183. • Corrected screen update problem when editing the class name in the main window.
  184. • When editing an item's name in a main window (by clicking on the name and the name
  185.    turns into a editable textfield), the textfield will now revert to non-editable when
  186.    hitting the return key.
  187. • Correctly quite a few crash bugs. Earlier versions of the program left items in the
  188.    model even if you deleted them. These "dangling" items were often the cause of
  189.    crashes.
  190. • Corrected a problem related to copy&paste. If you had copied an operation (or
  191.    attribute) and then tried to copy&paste a text in a class info window, the text
  192.    didn't get copied but only the last copied operation.
  193. • The grow icon in the right lower corner was missing in the Page info window when
  194.    the window was resized. This has now been fixed.
  195. • When opening a document with windows larger than the current screen, the windows
  196.    are automatically resized to fit the current screen.
  197. • Added consistency checks that are run when opening a document. They are fast and
  198.    shall not be noticable to the user but adds a great deal of security. Should reduce
  199.    the possibility of crashing when deleting items, or when closing a document.
  200. • This version includes traceback symbols to give better logs if (when?) crashing.
  201. • Deleting an operation no longer causes a crash.
  202. • Deleting a class with references on other pages no longer causes a crash.
  203. • Fixed a crash bug related to classes with associations.
  204. • Fixed a bug that made some attributes invisible when drag-and-drop a new attribute.
  205.    (Same goes for operations.)
  206. • Exported pictures shall no longer contain "selection handles".
  207. • Better scrollbar handling.
  208. • Made the Copy Protection scheme "smarter". Even if Object Plant crashes you should
  209.    be able to restart it on the same machine without getting that annoying "...another
  210.    copy with the same registration number..." message. Perhaps it is a bit too "smart".
  211. • The description field in page info windows will now be resized if you resize the
  212.    dialog window.
  213. • The popup menu in the state page info window will now be redrawn when you change
  214.    the window size.
  215. • You can add and delete parameters in the operation dialog window. Although the Add
  216.    Parameter menu item isn't active (I haven't figured out to get it active in a modal
  217.    dialog) the shortcut (shift-command-P) is active and can be used to add a parameter.
  218.    To delete a parameter select the parameter by clicking on the parameter and the 
  219.    press either delete or backspace.
  220. • Restructured the preferences dialog and moved it to the Edit menu.
  221. • Names can be edited without bringing up a dialog window. This goes for class names, 
  222.    interface names, state names, event trace thread names, use case names, package
  223.    names, and actor names. Just click on the name, hold the mouse still and it changes
  224.    into an editable text field. Clicking somewhere outside the name, changes the
  225.    textfield back to non-editable.
  226. • If the "Open info window on create" option is disabled, the editable text field will be
  227.    enabled immediately when creating an item.
  228. • Added a "Synchronized" flag for operations.
  229. • Added an "Abstract" flag for operations (which is only enabled when the class is
  230.    abstract and makes it possible to generate code for both virtual and pure virtual
  231.    functions).
  232. • The align dialog remembers its settings and position on screen.
  233. • New set of icons. You may need to rebuild your desktop to see the new icons.
  234. • Added the option to select which Object Model pages that should generate code.
  235.    Doubleclick on the page's name in the page palette and you will find a checkbox in
  236.    dialog window which can be checked for pages that shall generate code. Pages that
  237.    generate code are marked with an asterisk at the right end of the page palette list.
  238. • Removed the "Other..." item in popup menus. Now there is a textfield which can be
  239.    used to enter types not available in the popupmenu. This is more in line with
  240.    Apple HIG.
  241. • Corrected a bug that made operations and attributes disappear if
  242.    dragged-and-dropped onto themselves.
  243. • Added feedback indication where drag-and-dropped items are being dragged to.
  244. • Corrected some bugs related to closing of a document (after it has been saved). These
  245.    bugs caused crashes occasionally.
  246. • Corrected a bug related to selection in dialog windows. Previously it was possible to
  247.    have an operation selected as well as a text area. If you tried to copy the text
  248.    (Edit->Copy) you would get the operation instead of the text. Now only one selection
  249.    shall be active at any time.
  250. • Added Use Case diagrams.
  251. • New line drawing algorithms in the Use Case window. You can select if you want a
  252.    line to always stay rectilinear or if shall be oblique. Furthermore the "snap-to-grid"
  253.    option is implemented in the Use Case diagram.
  254. • Fixed a crash bug related to notes in the Event Trace window.
  255. • And a lot more...
  256.  
  257. Changes in 1.3.4 (1 May 1997)
  258. • Corrected a bug that could corrupt the object model (or state model) when using
  259.    several pages.
  260. • Pressing TAB in a dialog window (i.e. a class dialog window) will move the
  261.    text-cursor to the next textfield but now also select that text.
  262. • Added copy of PICT to the clipboard (consider this to be a beta version) making it
  263.    possible to easy insert graphics into other documents.
  264. • If there are unterminated strings in a template file, Object Plant will give you a
  265.    syntax error warning and not crash into MacsBug (or the Finder if you don't have
  266.    MacsBug).
  267. • Corrected a bug that could make Object Plant crash if generating code when the first
  268.    page had no real classes only subsystems. If it didn't crash, it didn't either generate
  269.    any code for the classes in the subsystems.
  270. • Corrected some bugs related to generalizations. It wasn't possible to make a
  271.    multibranch generalization between interfaces. And Object Plant could crash if you
  272.    tried to make a branch from a interface generalization to a class.
  273. • Added a consistency check that is run whenever you open a file. It will only detect
  274.    some of the possible consistency errors. If any errors are found, they can be fixed by
  275.    Object Plant.
  276. • Corrected a bug that made it impossible to resize an event trace box when
  277.    interactions were connected to the very top of the box.
  278. • Removed calls to AddResource when creating popup menus. This will make it possible
  279.    to run a locked copied of Object Plant, e.g. from a CD. It will also reduce the
  280.    possibility of running into problems when creating lots of popup menus.
  281. • Opening a file with very large windows on a small screen will automatically resize
  282.    the windows to fit within the screen (in a single monitor configuration).
  283. • Corrected minor UI bugs.
  284.  
  285. Changes in 1.3.3 (19 April 1997)
  286. • Change the way File->Save and Save As operations are implemented. Now the
  287.    implementation is in line with what Inside Macintosh recommends. This includes
  288.    using a temporary file during save and when the save is completed, the temporary
  289.    file and the project file is replaced. This make it less possible that Object Plant will
  290.    corrupt project files if crashing during save.
  291. • Removed a CDEF that was incompatible with MacOS 8.0a.
  292.  
  293. Changes in 1.3.2 (1 April 1997)
  294. • Corrected a bug that occured when deleting pages. Both Object Model pages and State
  295.    Diagram pages were affected by this bug. The crash occured when trying to save a
  296.    document with a deleted page.
  297.  
  298. Changes in 1.3.1 (21 March 1997)
  299. • Corrected the bug that caused a crash when adding new data types in the
  300.    File->Document Info->Data Types dialog.
  301. • Corrected some bugs related to the copy function. Copying some parts of a state
  302.    diagram or an event trace diagram, caused a user break into Macsbug.
  303.  
  304. Changes in 1.3 (28 Feb 1997)
  305. • Started implementation of the Unified Modeling Language notation. You can set the
  306.    notation used for a document in the File->Document Info->General dialog. The default
  307.    is OMT.
  308. • Reference items (class or interface) are now displayed with its name as "page::class
  309.    name"' where page indicates which page the original item belongs to. This makes it
  310.    is easier to see which items that are references and also to locate the original item.
  311. • Better code generation. Less empty lines. Tabs handled better etc. Please note that if
  312.    you have your own customized code generation template files they maybe have to be
  313.    modified. Any '"' (quote) characters must be included into a string. A string is
  314.    enclosed by "" (quotes). Within a string special characters like '\t', '"', '\\' may be
  315.    used, just like a C-string.
  316. • Added Input/Output information to operation parameters. This may be used to
  317.    generate CORBA IDL code.
  318. • Extended the code generation template language. Some of the new tags will not work 
  319.    correctly on old files. This applies to the following tags {CONSISTOFLIST},
  320.    {PARTOFLIST}  and {ASSOCLIST}. These tags are used in the HTML template file.
  321. • Added the '$' character in front of static operations and attributes in the Object
  322.    Model.
  323. • Made it possible for interfaces to inherit each other.
  324. • Made it possible to have an association between a class and an interface.
  325. • Added more template files: Java code generation and HTML documentation.
  326. • Added an example project file.
  327. • Corrected some UI glitches in the class dialog window.
  328. • Corrected the bug that made operations and attributes created after a drag-and-drop
  329.    disappear.
  330. • Drag-and-drop operations now mark the file as dirty.
  331. • The static-field of an attribute is now correctly copied when using copy-paste.
  332. • Corrected a bug that made Object Plant crash if you closed all three main windows,
  333.    accepted to close the document and then did cancel the save operation.
  334. • Corrected a bug that made Object Plant crash if altering a document that was
  335.    previously saved with any other page selected that the very first in either the Object
  336.    Model or the State Diagram.
  337. • Better region handling makes it easier to draw branches from generalization
  338.    "triangles" and aggregation "diamonds".
  339. • A non-registered program can create max 20 classes and max 20 interfaces.
  340. • Added a shortcut button in the "Other datatype" dialog which you can use to
  341.    immediately add a new datatype to the document's list of data types.
  342. • And much more...
  343.  
  344. Changes in 1.2.4 (6 Feb 1997)
  345. • Deleting a reference item such as a class reference corrupted the object model.
  346.    Having a corrupt object model could either cause a crash at opening, saving or closing
  347.    the document. This bug is fixed in 1.2.4.
  348.  
  349. Changes in 1.2.3 (4 Feb 1997)
  350. • When creating an association it was not always drawn. This occured when the two
  351.    classes were "misaligned" forcing the association to use two right-angled lines.
  352.    Having an association with no lines could cause crashes when saving or opening the
  353.    document or even moving one of the two classes.
  354. • The qualifier box of the "client" side of an association was not moved if that endpoint
  355.    of the association was moved.
  356.  
  357. Changes in 1.2.2 (15 Jan 1997)
  358. • Corrected a bug that made it impossible to make reference classes (and interfaces)
  359.    refering to classes (interfaces) located on other pages than the very first Object
  360.    Model page.
  361. • Corrected a bug that sometimes caused Object Plant to crash when closing a
  362.    document.
  363. • Added EPS support for suppliers.
  364. • Corrected a bug that made it impossible to use the knife tool on supplier lines.
  365. • Corrected a bug that made oblique dashed lines take the wrong path.
  366. • Tried to fix some problems with generalization line drawing.
  367. • Tried to fix some problems with selecting lines.
  368.  
  369. Changes in 1.2.1 (7 Jan 1997)
  370. • The Interface dialog window is now properly updated when clicking any of the
  371.    disclosure triangles.
  372. • Generating code for classes or interfaces with no operation will now work.
  373. • You can now open documents with one or several of the three main windows closed.
  374.    This caused a crash in the 1.2 version.
  375. • Perhaps the Copy Protection is more "tolerant". Now I hope it will be possible to
  376.    restart Object Plant if it crashes without having to reboot the mac.
  377.  
  378. Changes in 1.2 (31 Dec 1996)
  379. • Made it possible to select more than one attribute (or operation) in the class info
  380.    dialog using shift selection.
  381. • Added possibility to have several "icons" refering to one single class. This can be
  382.    useful when a class needs to be included in several pages. E.g. if you have a common
  383.    base class called CObject which all other classes inherits, you create the CObject
  384.    class in one page and in the other pages you use a reference class refering to the
  385.    CObject class. (Refer to the User's Manual for details.)
  386. • The above goes for interfaces too.
  387. • Added truncation of filenames so that code generation for classes with long names
  388.    works.
  389. • Removed MacsBug user breaks that occured when generating code.
  390. • Corrected a code generation bug that occured when a class had a name identical to
  391.    the name of an Object Model page. Now created folders have a ƒ letter at the end of
  392.    the name  thus reducing the possibility for this to occur. (Change in code generation
  393.    template files.)
  394. • Made it possible to add parameters to interface operations.
  395. • Added drag-and-drop to class, interface and state info windows. This can be used to
  396.    re-order attributes, operations within a class/interface or events within a state.
  397. • Corrected the bug that caused an error alert show up saying "Serious Error. Please
  398.    Report. ... ClassType: <some large number>". This happened if you opened a file by
  399.    dropping it onto Object Plant or by doubleclicking on the file.
  400. • Zooming of windows is now implemented according to Inside Macintosh. Hence
  401.    multiple screens will be handled in correct way.
  402. • Corrected at least one of the bugs that caused a crash at startup of Object Plant.
  403. • Better handling of multiple screens in the sense that if you save an Object Plant file
  404.    where you have the windows distributed over several screens and then open the file
  405.    when only one screen is available, the windows' positions are adjusted so that all
  406.    windows are visible on the available screen(s).
  407. • Data types are now case sensitive.
  408. • Some internal cleanup making Object Plant easier to maintain.
  409. • The delete key can now be used to delete selected items in the Class info dialog. If no
  410.    item (such as an attribute or operation) is selected the delete key is applied to the
  411.    active text field. This change is valid also for the Interface info window and State
  412.    info window.
  413. • Class and interface names are now written in a bold font.
  414.  
  415. Changes in 1.1.1 (4 Dec 1996)
  416. • Corrected the bug that made class descriptions not to be stored.
  417. • Made it compatible with extensions like Stretch and Church Window WDEFs.
  418. • Corrected a bug that made updates in the Class info window not work as expected.
  419. • Corrected the bug that prevented text inside notes from being printed.
  420. • Corrected a bug that made Object Plant sometimes crash when clicking in the
  421.    attributes or operations disclosure triangle.
  422. • Added FlushVol calls to make Save and Save As operations more secure.
  423. • Corrected a bug that sometimes amde Object Plant crash when deleting a class.
  424.  
  425. Changes in 1.1 (6 Nov 1996)
  426. • The generalization triangle is now directed towards the superclass regardless of the
  427.    physical position of the superclass and subclass.
  428. • Made the SUBSYSTEM tag valid in top-level and class-level in the template language.
  429. • Corrected the bug that made Object Plant crash when trying to copy an association.
  430. • Corrected the bug that made Object Plant stop with a warning popup (or break into
  431.    Macsbug) saying "Cannot create popupmenu".
  432. • Full implementation shift-clicking. If you shift-click on an already selected object it
  433.    will be deselected.
  434. • Corrected the bug that caused Object Plant not to generate code for classes below a
  435.    subsystem which did only contain subsystems and no real classes.
  436. • Lists will now show up correctly even when using monitors supporting thousands of
  437.    colours. Previously these lists were all black.
  438. • Added two new items to the Object Model diagrams: Interfaces and supplier relations.
  439. • Changed the code generation template language so that generating code with multiple
  440.    inheritance is possible.
  441. • Added "static" checkbox to attributes and operations. Affects only code generation.
  442. • Better screen updates.
  443. • Corrected other minor bugs.
  444.  
  445.  
  446. Changes in 1.0 (9 Oct 1996)
  447. • Made line movements more smooth. Straight lines are kept straight whenever
  448.    possible.
  449. • Added a DESCRIPTION tag to be used in code generation.
  450. • Corrected minor bugs.
  451.